The statements in this section merely provide background information related to the present disclosure and may not constitute prior art.
Present day keyboard, video and mouse (KVM) appliances and baseboard management controllers (BMCs) allow a user to access remote servers and other devices by passing the keyboard, video and mouse signals between the user's device (typically a laptop, PC, tablet, smartphone, etc.) and the KVM appliance (or between the user's device and the BMC). For the purpose of discussion, the following examples will make reference only to a KVM appliance, but it will be appreciated that they are equally applicable to communication with a BMC. The keyboard and mouse signals received from a KVM virtual media client by the KVM appliance are typically received by the KVM appliance in some network protocol, for example Ethernet protocol packets. The Ethernet protocol packets are then converted to a format (e.g., USB) that the remote device can accept.
With the recent development of the HTML5 protocol, an HTML5 KVM virtual media client is now able to run in the Web browser of a user's device when a KVM session is established by the user. Currently HTML5 is supported by several web browsers including Apple Corporation's SAFARI® Web browser (recently released and now part of iOS6), Mozilla's FIREFOX® Web browser, and the Google CHROME® Web browser. The ability to run the HTML5 KVM virtual media client in the user's Web browser is a significant advantage because the user typically is highly familiar with using a Web browser. As such, this implementation provides the user with a comfortable, easy to use means for conducting a KVM session with a remote KVM device (e.g., KVM appliance or BMC).
Running an HTML5 KVM virtual media client in the user's Web browser does, however, present some significant limitations. For one, the Web browser does not allow the KVM virtual media client access to the physical disks of the client device on which the Web browser is running (e.g., PC workstation, laptop, computing tablet, smartphone, etc.). This necessitates the use of a disk image by the HTML5 KVM virtual media client. This limitation did not exist with a KVM virtual media client that did not run in the user's Web browser. The technology previously used, such as Java or ActiveX, allowed access to the physical media devices such as disk drives, and thus a disk image was not required to access the data files on the user device. When using a Web browser, however, the Web browser provides a “sandbox” into which the JavaScript engine that runs in the Web browser can bring files. But the JavaScript engine still is not allowed to write out the files, nor is it allowed direct access to the physical media devices on the user's device, such as disk drives, typically used in virtual media implementations.
Still another challenge when using an HTML5 KVM virtual media client running in a Web browser is the limited size of the Web browser's sandbox. Typically a Web browser's sandbox will be less than 1 GB in size. However, a disk image file may be much larger than the size of the Web browser's sandbox. The limited size of the sandbox may also be a problem if more than one disk image is in use at a given time. In some instances a disk image file may be an exact replica of a disk on the user's device. Thus, the size of the disk image file may potentially be equal to the entire storage capacity of a hard disk drive of the user's device, or in other words up to 3 TB worth of data with current technology. Alternatively, the disk image file may represent the entire contents of a flash drive. The disk image file may reside either on the user's device (e.g., PC workstation, laptop, tablet, smartphone, etc.) or it may be accessible by the user's device over a network, and network “mounted” to the user's device. But in any event, the size of the Web browser's sandbox will often be insufficient to enable the entire disk image file to be copied in a single operation into the Web browser's sandbox by the JavaScript engine.
In view of the above limitations imposed by a Web browser's sandbox when working with disk image files, a new system and method is needed for accessing the disk image files stored on the user's device, or physically accessible by the user's device.